1. Field of the Invention
The present invention relates to a gateway device, network system, communication program, and communication method.
2. Related Art
In recent years, broadband environments which allow constant connection from home to the Internet are becoming popular along with the prevalence of ADSL and FTTH. Preferred examples of services using such a broadband environment include IP telephone services which are now rapidly becoming widespread. With such an IP telephone service, users can perform voice and video communication through the Internet.
Turning to a home local network, appliances equipped with a network interface have emerged among not only personal computers but also consumer appliances such as white goods or AV appliances and have begun to form a so-called home network. With this trend, development of a standard for control protocols is under way to allow interconnection between these consumer appliances. Typical examples of these control protocols are UPnP (Universal Plug and Play) which uses a TCP/IP network built on an IEEE (Institute of Electrical and Electronics) 802 network, AV/C used on an IEEE1394 high-speed serial bus, and ECHONET® available on various communication networks.
UPnP is an international standard protocol mainly aimed at interconnecting a personal computer, its peripherals, and a network appliance such as a router. The scope of interconnection is now expanding to AV appliances, and standardization of AV appliances is under way.
An IEEE1394 high-speed bus network is one targeted at AV appliances, and AV/C used on this network is a standard for protocols which send and receive control commands for AV appliances.
ECHONET is a domestic standard for control protocols targeted at white goods, sensors, and equipment. ECHONET is expected to be used in various communication networks such as IEEE802, Bluetooth®, infrared, power line, and low-power wireless networks.
Appliances compliant with UPnP, AV/C, and ECHONET protocols can be interconnected through a network and can be separately controlled. Currently, appliances compliant with these control protocols are already commercialized and are beginning to spread. At the same time, there are growing expectations for services which allow free control of these appliances from outside a home. However, a remote control service cannot generally be implemented just by using control protocols at home from outside the home without any conversion. This is because according to specifications, the control protocols are premised on use in a LAN (Local Area Network) and have a function dependent on broadcast communication or multicast communication. It is impractical to expand the scope of the control protocols to an out-of-home network (external network) serving as a public network without any processing.
To implement a remote control service for home appliances, there can be considered a method of making a gateway device lie between an out-of-home network and a home network. In this case, the gateway device converts a control command packet from the external network into a control protocol at home as described above and sends the packet to a target appliance.
For example, if HTTP (Hyper Text Transfer Protocol) is used as a transport protocol on the out-of-home network, an HTTP server is installed on the gateway device, and an operational terminal on the out-of-home network sends a control command to a remote control program on the gateway device through an HTTP GET or POST method. The remote control program is uniquely identified by its URL (Uniform Resource Locator), and its substance is CGI (Common Gateway Interface), Java Servlet, or the like. The remote control program on the gateway device acquires the control command from the received HTTP request, recognizes a target home appliance, converts the control command into a control protocol with which the home appliance complies, and sends a control command packet. The target appliance processes the received control command packet and sends in return the processing result to the remote control program on the gateway device on the basis of the control protocol. The gateway device sends in return the response result as an HTTP response to the operational terminal on the out-of-home network having sent the control command. The above-described procedure implements control of an electronic appliance on a home network from an operational terminal on an out-of-home network. It can be said that this example using HTTP is adapted to a conventional use pattern of the Internet. However, the gateway device needs to wait while keeping a port open to accept a service in response to a unilateral request from an arbitrary operational terminal on the out-of-home network, and this state is problematic in terms of security. Also, an application on the HTTP server needs to be changed to support a new appliance or control protocol, and the scalability is poor.
As another example which implements a remote control service using a gateway device, there is a method of performing communication by call connection on an out-of-home network. More specifically, the same method as that for IP telephony is used for communication between a control terminal outside a home and a gateway device. For example, SIP (Session Initiation Protocol) can be used for call connection. The control terminal sends a SIP INVITE message to the gateway device via a SIP proxy or SIP server and requests establishment of a communication session. The gateway device determines whether to receive the INVITE message. If the gateway device determines to receive the INVITE message, it sends a 200 OK response in response to the INVITE message. If the operational terminal side notifies the gateway device through an ACK message that it has received the 200 OK response, a communication session is established between the operational terminal and the gateway device. Since at this time, the gateway device can find an IP address and port number of the operational terminal, it can deny access from an unknown client and can deny all communications with a partner with which no session is established. Also, the opening of a port after session establishment makes it possible to prevent unauthorized access and improve security. To implement remote control using SIP like this example, there can be considered a method that uses a MESSAGE method and INFO method which are SIP extensions to send a control command. In this case, examples of a method of designating a target appliance can include a method of including appliance identification information in a BODY message of the method, and a method in which a gateway device gives a SIP URI to a home appliance and makes the home appliance open as a virtual SIP-compliant appliance, which causes an operational terminal on an out-of-home network to separately send the SIP method to the virtual SIP-compliant appliance.
There are several advantages in implementing remote control using call connection, in addition to that in terms of security described above.
For example, one of the advantages lies in that the implementation has a high affinity for and is compatible with IP telephone systems as described at the beginning. Since IP telephones are rapidly spreading, incorporation of the above-described technique into these systems makes it possible to implement remote control of home appliances without the need to separately prepare a special remote control system and expect its prevalence. The IMS (IP Multimedia Subsystem) being developed by the 3GPP (3rd Generation Partnership Project) which is a standardization body for third generation mobile telephony is premised on use of SIP, and thus the above-described method has a high affinity for the standard on an operational terminal side.
An advantage that SIP extended functions can be used is also important. A presence function which checks the state and capabilities of a communication partner and an event notification function which asynchronously notifies a change in appliance state are functions necessary for implementing remote control of home appliances. These functions are being standardized as SIP extensions. Accordingly, these functions need not be separately prepared to implement a remote control service.
An example of a technique related to a gateway device which assumes an external network that establishes call connection to perform communication is disclosed in Japanese Patent Laid-Open No. 2004-187149. As a paper describing a method of implementing remote control of home appliances by using SIP to establish a session with an external network and using UPnP or X10 for a home network, there is one entitled “Instant Messaging and Presence for Network Appliances using SIP” by Stan Moyer in Internet Telephony Workshop 2001.
The gateway device referred to in each of these documents includes a method of sending a control command from an appliance on an out-of-home network to a target device connected to a home network and a method of notifying the appliance on the out-of-home network of a state change event from the appliance connected to the home network. The former control command transmission method on the out-of-home network is implemented through a MESSAGE method and INFO method which are SIP extensions. The latter event notification method uses a SUBSCRIBE method and NOTIFY method which are also SIP extensions.
The gateway device referred to in Japanese Patent Laid-Open No. 2004-187149 makes mention of a method of transmitting a control command and event information but does not show a setting method which allows control of a home appliance from an out-of-home network. Home appliances are intended for users of a wide age group, unlike personal computers. Thus, it is desirable to prevent, as far as possible, a user from being forced to perform complicated work such as network setting for allowing remote control. A function which automatically allows operation of a home appliance from an out-of-home network just by connecting the home appliance to a home network (plug and play function) is necessary.
Also, Japanese Patent Laid-Open No. 2004-187149 does not show a method of coping with a case wherein there are a plurality of control protocols at home. There is a possibility that a plurality of control protocols such as UPnP, ECHONET, and AV/C are mixed with each other on a home network. Alternatively, there can be considered a case wherein a SIP-compliant appliance is present, and communication premised on call connection is performed even in a home network. It is also important to implement the plug and play function in a framework which can accommodate various control protocols.
Finally, as a method of implementing a remote control service, there can be considered a use case wherein a list of appliances available at home is acquired, and an individual one is selected from the appliances. There can also be considered a case wherein it is desired to acquire, at a time, the power states of all appliances at home. However, assuming a situation wherein a global network address is given to each home appliance due to, e.g., possible prevalence of IPv6 (Internet Protocol Version 6) or the above-described situation wherein a plurality of control protocols are mixed with each other on a home network, a special solution is required to group home electric appliances by home unit as an “appliance which belongs to a home.” To prevent a user to perform complicated setting operation, it is desired to automatically perform grouping. More specifically, as part of plug and play processing, it is necessary to implement grouping of home appliances.